Process for generating a serial number from random numbers

ABSTRACT

A process for generating a serial number from a random number is suitable for being used on a device that uses serial number in a bus. First, this process generates a serial number for use from a random number according to a seed number, and then it checks if this generated serial number is repeated in the bus. When this generated serial number is the same as the serial number corresponding to any other devices that are of the same kind as the above mentioned device in the bus, a new serial number for use will be generated.

Notice: More than one reissue application has been filed for the reissueof U.S. Pat. No. 6,647,402 filed as application Ser. No. 09/655,151 onSep. 5, 2000.

The present application is a continuation of U.S. application Ser. No.11/274,714 filed Nov. 14, 2005, which in turn is a reissue of U.S.application Ser. No. 09/655,151 filed Sep. 5, 2000, all of which areassigned to the assignee of the present invention.

DESCRIPTION OF THE INVENTION FIELD OF THE INVENTION

The present invention relates to a process for generating serial number,and particularly to a process for generating serial number from randomnumber.

BACKGROUND OF THE INVENTION

In USB (Universal-Serial Bus) or IEEE 1394 Bus, every device will begiven one and only serial number or ID. Generally speaking, theprocesses for generating serial number at present can be divided intotwo kinds. Wherein one kind of the processes for generating serialnumber is to use a fixed serial number on devices of the same kind.Although this process is simple and convenient, the devices of the samekind cannot be connected to one and the same USB or IEEE 1394 Bus and beused normally.

The other commonly known process for generating serial number is tostore the serial number of devices in ROM, EPROM, EEPROM or flashmemory, in order to make the serial number one and only. However, thisprocess will cause the increase of the cost for programming the serialnumber and the increase of the expenses for memory circuit components inthe process of manufacturing the devices. Apart from this, it isnecessary to have control to prevent the serial number from repetitionin the process of manufacturing, and in order to have the function ofcontrol, a related control circuit must be provided accordingly.

In such a situation, the present invention provides a process forgenerating serial number from random number. The process is suitable forbeing used on devices that use a serial number in a bus. This processfirst generates the serial number for use from random number based on aseed number, it then checks whether the serial number for use isrepeated in the bus. If the generated serial number for use repeats theserial number corresponding to any other devices of the same kind in thebus, a new serial number for use is generated.

Among these numbers, the seed number can be any of the serial numbercorresponding to any of the devices of the same kind in the bus. Theserial number for use is obtained from the combination in a random wayof the serial numbers corresponding to these devices of the same kind.

Apart from this, when the device is a scanner, the seed number can beobtained by the variability of the increase of the tube's brightnessafter the device is started, the brightness of the reflected light ofthe correcting board, the random noise of the Charge Couple Device(CCD), or the distance between the edge of the correcting board and thehome position, or by other ways. If the serial number for use includesseveral digits, any one of the digits can be generated from the seednumber obtained by any one of the ways for obtaining seed numbers.

To sum up, the present invention is to generate a needed serial numberfor use from random number. In most devices nowadays, a CentralProcessing Unit (CPU) is installed, therefor it will not be a problem togenerate a random number. The invention can save time and the expense ofrelated components, and can at the same time avoid the interference ofthe same serial numbers; thereby devices of the same kind can beinstalled on the same bus.

In order to make the above description and other objects,characteristics, and advantages of the invention clearer and easier tounderstand, A detailed description will be provided with preferredembodiments and with reference to the accompanying drawings as follows:

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a step flow chart of a preferred embodiment according tothe present invention; and

FIG. 2 shows another step flow chart of a preferred embodiment accordingto the present invention.

PREFERRED EMBODIMENT OF THE INVENTION

FIG. 1 shows a step flow chart of a preferred embodiment according tothe invention. First in Step 110, the device that uses the process ofthe invention must obtain a seed number, and generate random numberbased on the seed number. Here the seed numbers that can be used mayvary with devices. The better way would be to choose device that canobtain seed number with the least need of extra devices. For example,when this device is a scanner, the way to obtain seed number can be bythe variability of the increase of the tube's brightness after thedevice is started, the brightness of the reflected light of thecorrecting board, the random noise of the Charge Couple Device, or bythe distance between the edge of the correcting board and the homeposition.

Following Step 110, Step 120 is to generate a serial number from acombination of the random number. In this step, the most typical way isto take directly the random number obtained from Step 110 as the serialnumber for use. After this, Step 130 determines if the serial number foruse obtained from Step 120 repeats the serial number of the otherdevices of the same kind in the bus. If it repeats, the device goes backto Step 110 to obtain a new seed number and then to obtain a new randomnumber and a new serial number. Of course, it is also possible to renewonly the random number without the need to obtain a new seed number.

Apart from this, when the serial number for use includes several digits,Step 110 can be repeated for several times, and a random number isobtained in the process of each repetition. Then the random numbersobtained from every time are combined together in Step 120. In anotherword, several random numbers can be taken as digits that form the serialnumbers in use.

FIG. 2 shows flow chart of another preferred embodiment according to theinvention. In this embodiment, the device that uses the process of thepresent invention first in Step 210 obtains serial numbers from theother devices of the same kind in the bus, then in Step 220 combinesrandom numbers with these serial numbers, and obtain the serial numberof the device according to the result of the combination. Finally, inStep 230 it checks the serial number for use in order to make sure theserial number for use does not repeats the serial numbers of the otherdevices of the same kind. When the serial number for use repeats theserial numbers of the other devices of the same kind, the device goesback to Step 220 to combine random number and serial numbers again toobtain another serial number for use.

It must be noted that while this invention can be used in devices withCentral Processing Unit, it is not limited to the scanner mentionedherein. In addition, the processes disclosed in the two examples ofembodiment for generating serial number from random number can be usedtogether. They do not have to be used separately.

To sum up, the advantages of the present invention are as follows: theinvention saves working time and the cost of the relevant component, andit easily avoids the disturbance caused by the same serial numbers.

While the invention is disclosed above with the preferred examples ofembodiment, the invention is not limited by the preferred examples ofembodiment. Anyone who is familiar with the art can make variousmodifications thereto, and it is intended that the appended claims coverall such modifications as fall within the true spirit and scope of theinvention.

1. A process for generating a serial number from a random number, which is suitable for being used on a device that uses the serial number in a bus, the process comprising: generating the serial number for use from a random number based on a seed number, wherein the seed number is taken from an actual operation quantity carried by the device; checking if the generated serial number is repeated in the bus; and when the generated serial number is the same as a serial number corresponding to any other device of the bus, regenerating another serial number for the device.
 2. A process for generating a serial number from a random number according to claim 1, wherein the seed number is a serial number corresponding to any of other devices in the bus.
 3. A process for generating a serial number from a random number according to claim 2, wherein the generated serial number for use is formed by the combination of the serial number corresponding to any of the other devices in the bus.
 4. A process for generating a serial number from a random number according to claim 3, wherein the said serial number is formed by permuting in a random way the said serial number corresponding to any of the other devices in the bus.
 5. A process for generating a serial number from a random number, which is suitable for being used on a device that uses the serial number in a bus, the process comprising: generating the serial number for use from a random number based on a seed number; checking if the generated serial number is repeated in the bus; and when the generated serial number is the same as a serial number corresponding to any other device of the bus, regenerating another serial number for the device, wherein the device is a scanner, and the seed number is taken from a quantity selected from the group consisting of a variability of increasing of a tube's brightness after the scanner is started, a brightness of a reflected light of a correcting board, a random noise of a charge couple device, and a distance between an edge of the correcting board and a home position of the correcting board.
 6. A process for generating a serial number from a random number according to claim 5, wherein said generated serial number for use comprises a plurality of digit bits.
 7. A process for generating a serial number from a random number according to claim 6, wherein each said digit bit of the generated serial number is generated from the seed number.
 8. A process for generating a serial number from a random number according to claim 5, wherein the seed number is a serial number corresponding to any of other devices in the bus.
 9. A process for generating a serial number from a random number according to claim 8, wherein the generated serial number for use is formed by the combination of the serial number corresponding to any of the other devices in the bus.
 10. A process for generating a serial number from a random number according to claim 9, wherein the said serial number is formed by permuting in a random way the said serial number corresponding to any of the other devices in the bus.
 11. An apparatus, comprising: a processor configured to generate a random number based on a seed number and to generate a serial number for use by a device on a bus, the generated serial number based at least in part on the random number that is based on the seed number; wherein the seed number is taken from a property of the device, and wherein the processor is configured to determine whether the generated serial number is the same as a serial number corresponding to another device on the bus.
 12. The apparatus of claim 11, wherein the device comprises a scanning device.
 13. The apparatus of claim 12, wherein the seed number is based on at least one property selected from the group comprising a variability of a tube's brightness after the scanning device is started, a brightness of a reflected light of a correcting board, a random noise of a light sensing device, and a distance between an edge of the correcting board and a home position of the correcting board.
 14. The apparatus of claim 11, wherein the processor is configured to generate a new serial number for use by the device on the bus in response to a determination that the generated serial number is repeated by another device on the bus.
 15. The apparatus of claim 11, wherein the processor is configured to check other devices on the bus to determine whether the generated serial number is being used by another device.
 16. The apparatus of claim 11, wherein the processor is configured to: generate several random numbers using the seed number; and combine the generated random numbers to form the serial number.
 17. The apparatus of claim 11, wherein the processor comprises a central processing unit for the apparatus.
 18. The apparatus of claim 11, wherein the bus operates according to either the Universal Serial Bus (USB) standard or the Institute of Electrical and Electronics Engineers (IEEE) 1394 standard.
 19. An apparatus to generate a serial number for use by a device on a bus, the apparatus comprising a processor configured to: obtain a serial number associated with another device on the bus; generate the serial number for use by the device by combining a random number with the obtained serial number, wherein the processor is configured to use a seed number to obtain the random number, the seed number based on a property of the device; and determine whether the generated serial number is the same as a serial number corresponding to other devices on the bus.
 20. The apparatus of claim 19, wherein the processor is configured to: identify any other devices on the bus that are the same type as the device; and determine whether the generated serial number is the same as a serial number corresponding to only the identified devices.
 21. The apparatus of claim 19, wherein the processor is configured to: generate a new serial number for use by the device on the bus in response to a determination that the generated serial number is repeated by another device on the bus, the new serial number generated by combining the obtained serial number and a random value.
 22. The apparatus of claim 19, wherein the device comprises a scanning device, and wherein the seed number is based on at least one property selected from the group comprising a variability of a tube's brightness after the scanning device is started, a brightness of a reflected light of a correcting board, a random noise of a light sensing device, and a distance between an edge of the correcting board and a home position of the correcting board.
 23. An apparatus to generate a serial number for use by a device on a bus, the apparatus comprising: means for obtaining a serial number associated with another device on the bus; means for generating the serial number for use by the device by combining a random number with the obtained serial number, wherein the random number is based on a property of the device; and means for determining whether the generated serial number is the same as a serial number corresponding to other devices on the bus.
 24. The apparatus of claim 23, further comprising: means for identifying other devices on the bus that are a same type as the device; and means for obtaining the serial number only from the identified other devices.
 25. The apparatus of claim 24, further comprising: means for determining whether the generated serial number is the same as a serial number corresponding to only the identified other devices.
 26. A method, comprising: generating a random number based on a seed number to generate a serial number for use by a device on a bus, the generated serial number based at least in part on the random number that is based on the seed number; wherein the seed number is taken from a property of the device; and determining whether the generated serial number is the same as a serial number corresponding to another device on the bus.
 27. The method of claim 26, wherein the device comprises a scanning device, and wherein the seed number is based on at least one property selected from the group comprising a variability of a tube's brightness after the scanning device is started, a brightness of a reflected light of a correcting board, a random noise of a light sensing device, and a distance between an edge of the correcting board and a home position of the correcting board.
 28. The method of claim 26, further comprising generating a new serial number for use by the device on the bus in response to a determination that the generated serial number is repeated by another device on the bus.
 29. The method of claim 26, further comprising checking other devices on the bus to determine whether the generated serial number is being used by another device.
 30. The method of claim 26, further comprising: generating several random numbers using the seed number; and combining the generated random numbers to form the serial number.
 31. A computer readable storage medium having instructions stored thereon, that, in response to execution by a system cause the system to perform operations comprising: generating a random number based on a seed number to generate a serial number for use by a device on a bus, the generated serial number based at least in part on the random number that is based on the seed number; wherein the seed number is taken from a property of the device; and determining whether the generated serial number is the same as a serial number corresponding to another device on the bus.
 32. The computer readable storage medium of claim 31, wherein the device comprises a scanning device, and wherein the seed number is based on at least one property selected from the group comprising a variability of a tube's brightness after the scanning device is started, a brightness of a reflected light of a correcting board, a random noise of a light sensing device, and a distance between an edge of the correcting board and a home position of the correcting board.
 33. The computer readable storage medium of claim 31, wherein the operations further comprise generating a new serial number for use by the device on the bus in response to a determination that the generated serial number is repeated by another device on the bus.
 34. The computer readable storage medium of claim 31, wherein the operations further comprise checking other devices on the bus to determine whether the generated serial number is being used by another device.
 35. The computer readable storage medium of claim 31, wherein the operations further comprise: generating several random numbers using the seed number; and combining the generated random numbers to form the serial number. 